package com.zhichat.document;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;

/**
 * @ClassName: ChatMsgDoc
 * @Description: 聊天信息Doc
 * @Author: insanetz https://space.bilibili.com/602197686
 * @CreateDate: 2024/12/11 21:45
 */
@Data
@Accessors(chain = true)
@Document(collection = "chat_msg")
public class ChatMsgDoc implements Serializable {

    /**
     * 消息主键id
     */
    private String id;
    /**
     * 对应的会话id
     */
    private String sessionId;
    /**
     * 发送者id
     */
    private Long senderId;
    /**
     * 发送者NickName
     */
    private String senderNickname;
    /**
     * 发送时间（毫秒值）
     */
    private Long sendTime;
    /**
     * 接收者id
     */
    private Long receiverId;
    /**
     * 消息接受者类型（1、用户 2、群）
     */
    private Integer receiverType;
    /**
     * 消息内容
     */
    private String msg;
    /**
     * 消息类型（具体查看 MsgTypeEnum）
     */
    private Integer msgType;
    /**
     * 消息状态（1、发送成功 2、发送中 3、发送失败）
     */
    private Integer status;
    /**
     * 文件名称（如果消息是文件，则在该字段体现）
     */
    private String fileName;
    /**
     * 文件类型（1、图片 2、音频 3、视频）
     */
    private Integer fileType;
    /**
     * 文件大小（单位：B）
     */
    private Long fileSize;
}
